#define _CRT_SECURE_NO_WARNINGS 1
#include <stdio.h>

void merge(int* nums1, int nums1Size, int m, int* nums2, int nums2Size, int n) {

    int end1 = m - 1;
    int end2 = n - 1;
    int k = nums1Size;

    while (end1 >= 0 && end2 >= 0)
    {
        if (nums2[end2] > nums1[end1])
        {
            nums1[k - 1] = nums2[end2];
            end2--;
            k--;
        }

        else
        {
            nums1[k - 1] = nums1[end1];
            end1--;
            k--;
        }
    }
    while (end2 >= 0)
    {
        nums1[k - 1] = nums2[end2];
        end2--;
        k--;
    }

}


int removeDuplicates(int* nums, int numsSize) {

    int k = numsSize;
    int dest = 0;
    int src = 1;

    while (src < k)
    {
        if (nums[dest] == nums[src])
        {
            src++;
        }
        else
        {
            dest++;
            nums[dest] = nums[src];
        }

    }
    return dest + 1;

}


